package service

import (
	"go_user_manager/internal/adapters/controllers/view_model"
	"go_user_manager/internal/domain"
)

type IUserService interface {
	Add(user view_model.CreateUserReq) error
	Get(id, userName string) (*domain.User, error)
	Update(user view_model.UpdateUserReq) error
	Delete(id string) error
	List(userListQuery domain.UserListQuery) ([]domain.User, int64, error)
	VerifyUser(userName string, userPassword string) (*domain.User, error)
}
